
准备工作。
首先你要有一台配置还行的电脑,最好是Windows系统加NVIDIA显卡,显存至少4GB以上才能跑得动v2版。RVC全称Retrieval-based Voice Conversion,v2版本优化了训练速度和音质。你需要先安装Python环境,推荐Anaconda,版本3.8或3.9都行。然后打开命令行,用pip或conda安装pytorch,注意要根据你的显卡驱动选CUDA版本。我踩过坑,装了CPU版结果训练慢到崩溃,千万别学我。
下载RVC项目。
去GitHub搜“RVC-Project”或“RVC v2”,找到官方仓库。v2分支有完整的训练和推理脚本。直接git clone或者点Download ZIP。解压后你会看到一堆文件夹,比如“weights”“datasets”“logs”这些。别乱动,后面会用到。记得把项目放在纯英文路径下,不然中文路径会报错,这个坑我补了三天。
准备原神角色语音素材。
你想训练哪个角色就去游戏里录或者网上找。比如要复刻“雷电将军”的声音,最好收集她语音包,包括普攻、技能、待机、剧情对话等,总时长建议1小时以上。格式转成wav,采样率24kHz,单声道。如果素材里有背景音乐或混响,先用人声分离工具处理干净。我用的UVR5,效果不错。注意每个音频文件不要超过10秒,太长会爆显存。
训练环境配置。
打开终端cd到项目目录,先运行“python tools/down_ckpt.py”自动下载预训练基础模型。v2需要model_v2.pt和hub文件夹里的内容。然后编辑“configs/v2/model.yaml”文件,修改“dataset_path”为你的素材文件夹路径。还有“batch_size”调小一点,比如4或8,根据显存来。我的3060显存12GB,batch_size设16就炸了,后来改成8稳得很。
开启训练。
在项目根目录执行“python train.py -m v2 -c configs/v2/model.yaml”。首次训练会先做预处理,把音频切分成小片段并提取特征,这个过程很慢,十几分钟到一小时不等。别急,喝杯奶茶等它跑完。之后训练开始,你会看到loss值逐渐下降。一般迭代10万步左右就能听出明显效果。我建议每5000步去“logs/v2”文件夹里听一下生成的样本,方便调整参数。
微调技巧。
如果你发现训练出来的声音像机器人,可能是素材干净度不够。v2版本有个“total_training_steps”参数,默认20万步,但过拟合也会失真。我通常先跑10万步看看效果,如果太假就减少步数,或者增加素材量。另外“learning_rate”默认2e-4,如果素材少可以降到1e-4。记得把“use_fea_augment”改成True,随机调整音调能提升泛化能力。
推理生成语音。
训练完成后,进入“tools”文件夹,运行“inference_webui.py”启动网页界面。在浏览器打开本地地址,加载你的模型文件,拖入一段你想要转换的原始语音,比如你自己读的台词。点击转换,等几秒就能听到原神角色的声音了。注意原始语音的语速和情感最好接近素材,否则怪怪的。我曾经拿rap去转,结果出来一股电流味,笑哭。
常见错误排查。
训练时报“CUDA out of memory”就降低batch_size或关闭其他程序。如果报“FileNotFoundError”,检查路径有没有空格或中文。还有v2模型对素材采样率要求严格,必须是24kHz,用ffmpeg批量转换一下。最坑的是“NaN loss”,一般是素材里有静音片段,用Audacity批量切除前导无声部分就好。
实战建议。
别贪心一次训练太多角色,v2的模型文件很大,每个角色占用几个G。优先选你最喜欢的角色,比如我做了可莉和钟离。另外分享一个小技巧,先训练一个通用底模,再微调成具体角色,这样迁移学习效果更好。不过底模训练需要更多素材,大佬可以试试。
最后提醒一句,RVC的技术虽然有趣,但不要用于商业侵权或者恶意伪装他人语音。玩游戏图个乐子,自己听或给朋友玩一下就好。祝你在提瓦特大陆收获更多乐子。
相关文章